from PIL import Image, ImageDraw

# 创建一个新的图像，背景色为灰色
background_width, background_height = 400, 400
background_color = (128, 128, 128)
background_image = Image.new('RGB', (background_width, background_height), background_color)

# 加载要插入的图片（确保图片路径正确）
insert_image_path = 'success.png'  # 替换为你的图片路径
insert_image = Image.open(insert_image_path).convert('RGBA')  # 转换为RGBA以支持透明度

# 定义插入图片的位置和大小（可能需要调整以适应背景图像）
insert_position = (200, 200)  # 插入图片的左上角坐标
insert_size = (100, 100)  # 插入图片的宽度和高度（保持纵横比或根据需要调整）

# 调整插入图片的大小（如果需要）
insert_image = insert_image.resize(insert_size)

# 将插入图片粘贴到背景图像上（考虑透明度）
background_image.paste(insert_image, insert_position, insert_image)

# 创建一个绘图对象
draw = ImageDraw.Draw(background_image)

# 圆的参数
circle_radius = 80
circle_center = (background_width // 2, background_height // 2)

# 绘制一个空心圆（边框为黑色）
draw.ellipse([circle_center[0] - circle_radius, circle_center[1] - circle_radius,
              circle_center[0] + circle_radius, circle_center[1] + circle_radius],
             outline='black', width=3)  # 可选：指定边框宽度

# 方块（圆角矩形）的参数
square_width = 60
square_height = 60
corner_radius = 10
square_center = (circle_center[0], circle_center[1] - (circle_radius - square_height // 2))  # 根据需要调整位置

# 计算圆角矩形的左上角和右下角坐标
top_left = (square_center[0] - square_width // 2, square_center[1] - square_height // 2)
bottom_right = (square_center[0] + square_width // 2, square_center[1] + square_height // 2)

# 创建一个与背景图像相同模式的临时图像来绘制圆角矩形（支持透明度）
temp_image = Image.new('RGBA', background_image.size, (0, 0, 0, 0))  # 透明背景
temp_draw = ImageDraw.Draw(temp_image)
temp_draw.rounded_rectangle([top_left[0], top_left[1], bottom_right[0], bottom_right[1]], corner_radius, fill='white')

# 将圆角矩形与背景图像合并（考虑透明度）
# background_image = Image.alpha_composite(background_image, temp_image)

# 显示图像
background_image.show()

# 如果需要，也可以将图像保存到文件中
# background_image.save('composite_image.png')